function setStartProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.StartProxy=proxy.StartProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setAwakeProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.AwakeProxy=proxy.AwakeProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setUpdateProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.UpdateProxy=proxy.UpdateProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setLateUpdateProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.LateUpdateProxy=proxy.LateUpdateProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setFixedUpdateProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.FixedUpdateProxy=proxy.FixedUpdateProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setResetProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.ResetProxy=proxy.ResetProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseEnterProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseEnterProxy=proxy.OnMouseEnterProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseOverProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseOverProxy=proxy.OnMouseOverProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseExitProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseExitProxy=proxy.OnMouseExitProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseDownProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseDownProxy=proxy.OnMouseDownProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseUpProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseUpProxy=proxy.OnMouseUpProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseUpAsButtonProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseUpAsButtonProxy=proxy.OnMouseUpAsButtonProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMouseDragProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMouseDragProxy=proxy.OnMouseDragProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnTriggerEnterProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnTriggerEnterProxy=proxy.OnTriggerEnterProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnTriggerExitProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnTriggerExitProxy=proxy.OnTriggerExitProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnTriggerStayProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnTriggerStayProxy=proxy.OnTriggerStayProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnCollisionEnterProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnCollisionEnterProxy=proxy.OnCollisionEnterProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnCollisionExitProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnCollisionExitProxy=proxy.OnCollisionExitProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnCollisionStayProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnCollisionStayProxy=proxy.OnCollisionStayProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnControllerColliderHitProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnControllerColliderHitProxy=proxy.OnControllerColliderHitProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnJointBreakProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnJointBreakProxy=proxy.OnJointBreakProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnParticleCollisionProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnParticleCollisionProxy=proxy.OnParticleCollisionProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnBecameVisibleProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnBecameVisibleProxy=proxy.OnBecameVisibleProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnBecameInvisibleProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnBecameInvisibleProxy=proxy.OnBecameInvisibleProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnLevelWasLoadedProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnLevelWasLoadedProxy=proxy.OnLevelWasLoadedProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnEnableProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnEnableProxy=proxy.OnEnableProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnDisableProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnDisableProxy=proxy.OnDisableProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnDestroyProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnDestroyProxy=proxy.OnDestroyProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnPreCullProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnPreCullProxy=proxy.OnPreCullProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnPreRenderProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnPreRenderProxy=proxy.OnPreRenderProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnPostRenderProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnPostRenderProxy=proxy.OnPostRenderProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnRenderObjectProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnRenderObjectProxy=proxy.OnRenderObjectProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnWillRenderObjectProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnWillRenderObjectProxy=proxy.OnWillRenderObjectProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnGUIProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnGUIProxy=proxy.OnGUIProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnDrawGizmosSelectedProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnDrawGizmosSelectedProxy=proxy.OnDrawGizmosSelectedProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnDrawGizmosProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnDrawGizmosProxy=proxy.OnDrawGizmosProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnApplicationPauseProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnApplicationPauseProxy=proxy.OnApplicationPauseProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnApplicationFocusProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnApplicationFocusProxy=proxy.OnApplicationFocusProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnApplicationQuitProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnApplicationQuitProxy=proxy.OnApplicationQuitProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnPlayerConnectedProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnPlayerConnectedProxy=proxy.OnPlayerConnectedProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnServerInitializedProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnServerInitializedProxy=proxy.OnServerInitializedProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnConnectedToServerProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnConnectedToServerProxy=proxy.OnConnectedToServerProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnPlayerDisconnectedProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnPlayerDisconnectedProxy=proxy.OnPlayerDisconnectedProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnDisconnectedFromServerProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnDisconnectedFromServerProxy=proxy.OnDisconnectedFromServerProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnFailedToConnectProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnFailedToConnectProxy=proxy.OnFailedToConnectProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnFailedToConnectToMasterServerProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnFailedToConnectToMasterServerProxy=proxy.OnFailedToConnectToMasterServerProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------
function setOnMasterServerEventProxy(gameObject,func)
	local proxy=gameObject:GetComponent(LuaMonoBehaviour.GetClassType());
	if proxy==nil then
		proxy=gameObject:AddComponent(LuaMonoBehaviour.GetClassType());
	end
	proxy.OnMasterServerEventProxy=proxy.OnMasterServerEventProxy+DelegateFactory.Action_GameObject(func);
end
----------------------------------------------------------------------------------------

